//
// Copyright (C) [2024] Xingyun Integrated Circuit, Inc.
//
// GreenCode was a private technology asset of Xingyun Integrated Circuit， Inc （Confidential）
//  Author: Shawn.Tan
//  Date : 2025.10.28
//
//  History : Initial Version 2025.10.28
//
//
#include "OperandDataRequest.h"

#include <sstream>

#include "Data.h"
#include "Log.h"

using namespace std;

namespace Green {
  OperandDataRequest::OperandDataRequest(const string& name, const string& valueStr)
    : Object(), mName(name), mstrData(), mApplied(false)
  {
    SetDataRequest(valueStr);
  }

  OperandDataRequest::OperandDataRequest(const OperandDataRequest& rOther)
    : Object(rOther), mName(rOther.mName), mstrData(), mApplied(false)
  {
  }

  OperandDataRequest::~OperandDataRequest()
  {
  }

  Object* OperandDataRequest::Clone() const
  {
    return new OperandDataRequest(*this);
  }

  const std::string OperandDataRequest::ToString() const
  {
    stringstream out_stream;

    out_stream << Type() << ": " << Name();
    out_stream << "<=" << mstrData ;

    return out_stream.str();
  }

  void OperandDataRequest::SetDataRequest(const string& valueStr)
  {
    mstrData = valueStr;
  }

}
